import request from "@/utils/request.ts"

// 获取所有用户列表
export function getAllUser() {
    return request({
        url: "/api/user",
        method: 'get'
    })
}

// 删除用户信息
export function deleteUser(userId: string) {
    return request({
        url: `/api/user/${userId}`,
        method: 'delete'
    })
}

/**
 *  登录
 * @param account 登录账号	true   string
 * @param password 登录密码（生产环境加密的密码）	true     string
 */
export function loginRequest(account: string, password: string) {
    return request({
        url: "/api/user/login",
        method: 'post',
        data: {
            account, password
        }
    })
}

/**
 * 注册
 * @param account 账户
 * @param password 密码
 * @param username 用户名
 * @param gender 性别,可用值:MAN,WOMAN,UNKNOWN
 */
export function addUserRequest(account: string, password: string, username: string, gender: string | undefined) {
    return request({
        url: '/api/user/register',
        method: 'post',
        data: {account, password, username, gender}
    })
}

/**
 * 用户信息更新
 * @param userId 用户Id		true
 * @param username 用户名		true
 * @param account 账号
 * @param gender 性别,可用值:MAN,WOMAN,UNKNOWN	true
 */
export function updateUserInfoRequest(userId: string | null, username: string, account: string, gender: string|undefined) {
    return request({
        url: '/api/user/updateInfo',
        method: 'post',
        data: {userId, username, account, gender}
    })
}

/**
 * 用户密码更新
 * @param userId 用户Id		true
 * @param oldPassword 老密码（生产环境加密的密码）
 * @param newPassword 新密码（生产环境加密的密码）
 */
export function updateUserPasswordRequest(userId: string|null, oldPassword: string, newPassword: string) {
    return request({
        url: `/api/user/updatePwd/${userId}`,
        method: 'post',
        data: {userId, oldPassword, newPassword}
    })
}
